package com.sy.mapper;

import com.sy.bean.Enterprise;
import com.sy.bean.Permissions;
import com.sy.bean.Renewal;
import com.sy.bean.RenewalAll;
import com.sy.bean.excel.EnterpriseData;
import com.sy.common.crud.IMapper;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

@Mapper
public interface EnterpriseMapper extends IMapper<Enterprise> {
    /**
     * 检查企业名称是否存在
     * @param name 企业名称
     * @return 同名企业的数量
     */
    int existName(String name);

    /**
     * 查询最大编码
     * @return 最大编码
     */
    String queryMaxCode();

    /**
     * 修改权限
     * @param id 企业id
     * @param empNum 可创建的员工数
     * @param accountNum 可创建的账套数
     * @return 成败
     */
    int auth(Permissions permissions);

    /**
     * 续费
     * @param renewal 续费bean
     * @return 成败
     */
    int renewal(Renewal renewal);

    /**
     * 更新开通日期
     * @param id 企业id
     * @return 成败
     */
    int updateBeginDate(int id);

    /**
     * 根据企业id查询
     * @param id 企业id
     * @return 资金信息
     */
    Map queryMoney(Map map);

    /**
     * 导出的企业
     * @param map
     * @return
     */
    List<EnterpriseData> export(Map map);

    /**
     * 查询续费列表
     * @param id
     * @return
     */
    RenewalAll queryRenById(Map map);

    /**
     * 根据用户id查企业
     * @param id
     * @return
     */
    Map queryByUserId(int id);
}
